package bb.lanxing.lib.devices.bici;

import java.util.HashSet;
import java.util.Set;

import bb.lanxing.lib.devices.api.SmartDevice;


public class BiciNotifierImpl implements BiciNotifier {
    private Set<BiciController.BiciListener> mBiciListeners;

    @Override
    public final void notifyCmdStatus(int i, int i2) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set != null) {
            for (BiciController.BiciListener biciListener : set) {
                biciListener.onCmdStatus(i, i2);
            }
        }
    }

    @Override
    public final void notifyProgressUpdate(int i, int i2) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set != null) {
            for (BiciController.BiciListener biciListener : set) {
                biciListener.onProgressUpdate(i, i2);
            }
        }
    }

    @Override
    public void notifyStateChanged(SmartDevice smartDevice, int i, int i2) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set != null) {
            for (BiciController.BiciListener biciListener : set) {
                biciListener.onConnectionStateChanged(smartDevice, i, i2);
            }
        }
    }

    @Override
    public void notifyGetFile(String str) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set != null) {
            for (BiciController.BiciListener biciListener : set) {
                biciListener.onGetFile(str);
            }
        }
    }

    @Override
    public void notifyPackage(int i, byte[] bArr) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set != null) {
            for (BiciController.BiciListener biciListener : set) {
                biciListener.onPackage(i, bArr);
            }
        }
    }

    @Override
    public void registerBiciListener(BiciController.BiciListener biciListener) {
        if (this.mBiciListeners == null) {
            this.mBiciListeners = new HashSet();
        }
        if (biciListener != null) {
            this.mBiciListeners.add(biciListener);
        }
    }

    @Override
    public boolean hasBiciListener() {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        return set != null && !set.isEmpty();
    }

    @Override
    public void unregisterBiciListener(BiciController.BiciListener biciListener) {
        Set<BiciController.BiciListener> set = this.mBiciListeners;
        if (set == null || biciListener == null) {
            return;
        }
        set.remove(biciListener);
    }
}
